package com.zsl.dao;

import com.zsl.model.OrderInfo;

import javax.crypto.interfaces.PBEKey;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

public interface OrderInfoDao {
    /**
     * 获取所查询订单的数量
     * 订单的信息
     *
     * @param whereColumn 条件字符串
     * @param whereValue 条件值
     * @return count-计数
     *
     */
    public String getOrderInfoCount(String[] whereColumn, String[] whereValue) throws SQLException;

    /**
     * 查询订单
     * @param whereColumn 条件字符串
     * @param whereValue 条件值
     * @return orderinfo订单列表
     */
    public List<OrderInfo> getOrderInfo(String[] whereColumn, String[] whereValue) throws SQLException;
    /**
     * 插入多个订单
     *
     * @param orderInfos 多个订单
     * @return Map<String, Object>
     * List<Int> line 影响行数
     * List<String> orderInfo_id 订单号
     */
    public Map<String, Object> insertOrderInfo(List<OrderInfo> orderInfos);

    /**
     * 更新多个订单信息
     * 默认使用主键更新，不支持其他方式
     * @param orderInfos  订单
     * @param selectModel 选择模式
     *                    模式1 只更新数量与总价格 num&price
     *                    模式2 只更新状态 status
     * @return Map<String, Object>
     *     List<Integer> line 影响行数
     *     List<String> orderInfo_id 订单号
     */
    public Map<String, Object> updateOrderInfoById(List<OrderInfo> orderInfos,int selectModel);
}
